package com.hqx.oop.singleton;

public class Singleton {
    //饿汉式

    //私有化构造器
//    private Singleton() {}
//
//    //内部提供一个静态实例
//    private static Singleton singleton = new Singleton();
//
//    //提供公共的类方法获取当前类的实例
//    public static Singleton getSingleton() {
//        return  singleton;
//    }


    //懒汉式
    //私有化构造器
    private Singleton() {}

    //声明静态实例
    private static Singleton singleton;

    //提供公共的类方法获取当前类的实例，调用前判断实例是否生成,节省内存
    public static Singleton getSingleton() {
        if(singleton == null) {
            singleton = new Singleton();
        }
        return  singleton;
    }

}
